void main() {
  var map = {
    'first': 'dart',
    'second': 'js',
    true: 2,
    2: true,
  };
  map['second'] = 'javascript'; // 修改
  print(map);
  print(map['first']); // 取值
  var map1 = const {
    'a': 'aaa',
    'b': 'bbb',
  }; // 不可修改map['a'] = 'aaaaa'错误
  var map2 = new Map();
  var list = [1, 2, 3, 4];
  var map3 = {
    'aa': 'aaaaa',
    'bb': 'bbbbb',
    'cc': 'ccccc',
    'dd': 'ddddd',
  };
  print(map3.length);
  print(map3.keys);
  print(map3.values);
  print(map3.containsKey('aa')); // 是否包含
  print(map3.containsValue('aa')); // 是否包含
  map3.remove('dd'); // 移除
  print(map3);
  map3.forEach(fn);
  print(list.asMap()); // 数组转成map键从0开始
}

void fn(key, value) {
  print(key);
  print(value);
}
